﻿using EnetaMvc.Core.Domain.Common;
using System.Collections.Generic;

namespace EnetaMvc.Core.Repositories
{
    public interface IUserRepository
    {
        User GetUserById(long id);
        User GetUserByLiveIdToken(string liveIdToken);
        User GetUserByUserName(string userName);
        IList<User> FindUsers(string searchString);
        IList<User> ListLatelyJoinedUsers(int count);
        void SaveUser(User user);
        void DeleteUser(long id);

        IList<MyRole> ListMyRoles();
        MyRole GetMyRoleById(long id);

        IList<Role> ListRoles();
        Role GetRoleByName(string roleName);
    }
}
